package pe.gob.mintra.trabajadoreshogar.util;

import java.io.Serializable;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import org.joda.time.DateTime;
import org.joda.time.Period;
import org.joda.time.PeriodType;

public class Utilitario implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public int[] diaMesAno(Date fecFin, Date fecIni) {
		int[] arrDatos = new int[4];

		long dif = fecFin.getTime() - fecIni.getTime();
		double dias = dif / (1000 * 60 * 60 * 24);

		int indValidacion = 0;
		if (dias > 91) {
			indValidacion = 1;
		} else {
			indValidacion = 0;
		}

		double anos = 0;

		double meses = 0;

		if (dias >= 360) {
			anos = (int) (dias / 360);
			dias = dias - (anos * 360);
		} else {
			anos = 0;
		}

		if (dias >= 30) {
			meses = (int) (dias / 30);
			dias = dias - (meses * 30);
		} else {
			meses = 0;

		}

		arrDatos[0] = (int) dias;
		arrDatos[1] = (int) meses;
		arrDatos[2] = (int) anos;
		arrDatos[3] = indValidacion;
		return arrDatos;

	}

	public int[] diaMesAno2(Date fecFin, Date fecIni) {
		int[] arrDatos = new int[4];

		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		String fecIng = sdf.format(fecIni);
		String fecCes = sdf.format(fecFin);

		String[] arrFecIng = fecIng.split("/");
		String[] arrFecCes = fecCes.split("/");

		int diaFecIng = Integer.parseInt(arrFecIng[0]);
		int mesFecIng = Integer.parseInt(arrFecIng[1]);
		int anoFecIng = Integer.parseInt(arrFecIng[2]);

		int diaFecCes = Integer.parseInt(arrFecCes[0]);
		int mesFecCes = Integer.parseInt(arrFecCes[1]);
		int anoFecCes = Integer.parseInt(arrFecCes[2]);

		Calendar dateIni = Calendar.getInstance();
		Calendar dateFin = Calendar.getInstance();

		dateIni.set(anoFecIng, mesFecIng - 1, diaFecIng);
		dateFin.set(anoFecCes, mesFecCes - 1, diaFecCes + 1);

		Calendar dateResultado = Calendar.getInstance();

		dateResultado.setTimeInMillis(dateFin.getTimeInMillis()
				- dateIni.getTimeInMillis());

		long dif = fecFin.getTime() - fecIni.getTime();
		double dias = (dif / (1000 * 60 * 60 * 24)) + 1;
		int indValidacion = 0;
		if (dias > 90) {
			indValidacion = 1;
		} else {
			indValidacion = 0;
		}

		int anosResultado = dateResultado.get(Calendar.YEAR) - 1970;
		int mesesResultado = dateResultado.get(Calendar.MONTH);
		int diasResultado = dateResultado.get(Calendar.DAY_OF_MONTH);

		/*
		 * if(diasResultado>=30){ mesesResultado+=1; diasResultado-=30; }
		 * 
		 * if(mesesResultado>=12){ anosResultado+=1; mesesResultado-=12; }
		 */

		if (!fecFin.equals(fecIni)) {
			arrDatos[0] = diasResultado;
			arrDatos[1] = mesesResultado;
			arrDatos[2] = anosResultado;
			arrDatos[3] = indValidacion;
		} else {
			arrDatos[0] = 0;
			arrDatos[1] = 0;
			arrDatos[2] = 0;
			arrDatos[3] = indValidacion;
		}

		return arrDatos;

	}

	/*
	 * public int[] diaMesAno3(Date fecFin, Date fecIni) { int[] arrDatos = new
	 * int[4];
	 * 
	 * SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String fecIng
	 * = sdf.format(fecIni); String fecCes = sdf.format(fecFin);
	 * 
	 * String[] arrFecIng = fecIng.split("/"); String[] arrFecCes =
	 * fecCes.split("/");
	 * 
	 * int diaFecIng = Integer.parseInt(arrFecIng[0]); int mesFecIng =
	 * Integer.parseInt(arrFecIng[1]); int anoFecIng =
	 * Integer.parseInt(arrFecIng[2]);
	 * 
	 * int diaFecCes = Integer.parseInt(arrFecCes[0]); int mesFecCes =
	 * Integer.parseInt(arrFecCes[1]); int anoFecCes =
	 * Integer.parseInt(arrFecCes[2]);
	 * 
	 * GregorianCalendar dateIni = new GregorianCalendar(); GregorianCalendar
	 * dateFin = new GregorianCalendar();
	 * 
	 * dateIni.set(anoFecIng, mesFecIng - 1, diaFecIng); dateFin.set(anoFecCes,
	 * mesFecCes - 1, diaFecCes);
	 * 
	 * long diferencia = dateFin.getTime().getTime() -
	 * dateIni.getTime().getTime(); double diasTotales = (diferencia / (1000 *
	 * 60 * 60 * 24));
	 * 
	 * 
	 * if(mesFecIng==mesFecCes && diaFecIng==diaFecCes){ diasTotales+=1; }
	 * 
	 * 
	 * int indValidacion = 0;
	 * 
	 * if (diasTotales > 90) { indValidacion = 1; } else { indValidacion = 0; }
	 * 
	 * String[] mesesAnio = new String[12]; mesesAnio[0] = "31";
	 * 
	 * 
	 * mesesAnio[2] = "31"; mesesAnio[3] = "30"; mesesAnio[4] = "31";
	 * mesesAnio[5] = "30"; mesesAnio[6] = "31"; mesesAnio[7] = "31";
	 * mesesAnio[8] = "30"; mesesAnio[9] = "31"; mesesAnio[10] = "30";
	 * mesesAnio[11] = "31";
	 * 
	 * int diasRestantes = (int) diasTotales;
	 * System.out.println("DIAS RESTANTES " + diasRestantes); int totalMeses =
	 * 0;
	 * 
	 * int mesActual = mesFecIng;
	 * 
	 * for (int j = 0; j <= (anoFecCes - anoFecIng); j++) {
	 * System.out.println("Ano "+j);
	 * 
	 * if ((anoFecIng + j) % 4 == 0) { mesesAnio[1] = "29";
	 * 
	 * } else { mesesAnio[1] = "28"; }
	 * 
	 * for (int i = mesActual-1; i <= 11; i++) {
	 * 
	 * 
	 * 
	 * System.out.println("Mes actual "+mesActual);
	 * 
	 * if ((diasRestantes - Integer.parseInt(mesesAnio[i])) >= 0) {
	 * System.out.println("" + diasRestantes + "-" +
	 * Integer.parseInt(mesesAnio[i])); totalMeses++;
	 * 
	 * diasRestantes = diasRestantes - Integer.parseInt(mesesAnio[i]);
	 * System.out.println("QUEDA " + diasRestantes); mesActual++;
	 * 
	 * 
	 * if (mesActual>12){
	 * 
	 * mesActual = 1;
	 * 
	 * }
	 * 
	 * }
	 * 
	 * 
	 * 
	 * }
	 * 
	 * 
	 * }
	 * 
	 * int anos = (int) (totalMeses / 12); if (anos >= 1) { totalMeses =
	 * totalMeses - anos * 12; }
	 * 
	 * if(diaFecIng==1 && diaFecCes>=28 && mesFecIng==1 && mesFecCes==2){
	 * 
	 * totalMeses=totalMeses+1;
	 * 
	 * 
	 * }
	 * 
	 * 
	 * if(diaFecCes>=diaFecIng){
	 * 
	 * 
	 * diasRestantes+=1;
	 * 
	 * 
	 * }
	 * 
	 * if(diasRestantes>=30){ totalMeses=totalMeses+1;
	 * diasRestantes-=diasRestantes; }
	 * 
	 * 
	 * arrDatos[0] = diasRestantes; arrDatos[1] = totalMeses; arrDatos[2] =
	 * anos; arrDatos[3] = indValidacion;
	 * 
	 * 
	 * return arrDatos; }
	 */

	/*
	 * VERSION 2
	 * 
	 * public int[] diaMesAno3(Date fecFin, Date fecIni){
	 * 
	 * int[] arrDatos = new int[4];
	 * 
	 * SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String fecIng
	 * = sdf.format(fecIni); String fecCes = sdf.format(fecFin);
	 * 
	 * String[] arrFecIng = fecIng.split("/"); String[] arrFecCes =
	 * fecCes.split("/");
	 * 
	 * int diaFecIng = Integer.parseInt(arrFecIng[0]); int mesFecIng =
	 * Integer.parseInt(arrFecIng[1]); int anoFecIng =
	 * Integer.parseInt(arrFecIng[2]);
	 * 
	 * int diaFecCes = Integer.parseInt(arrFecCes[0]); int mesFecCes =
	 * Integer.parseInt(arrFecCes[1]); int anoFecCes =
	 * Integer.parseInt(arrFecCes[2]);
	 * 
	 * GregorianCalendar dateIni = new GregorianCalendar(); GregorianCalendar
	 * dateFin = new GregorianCalendar();
	 * 
	 * dateIni.set(anoFecIng, mesFecIng - 1, diaFecIng); dateFin.set(anoFecCes,
	 * mesFecCes - 1, diaFecCes);
	 * 
	 * long diferencia = dateFin.getTime().getTime() -
	 * dateIni.getTime().getTime(); double diasTotales = (diferencia / (1000 *
	 * 60 * 60 * 24));
	 * 
	 * 
	 * int indValidacion = 0;
	 * 
	 * if (diasTotales > 90) { indValidacion = 1; } else { indValidacion = 0; }
	 * 
	 * 
	 * String[] mesesAnio = new String[12]; mesesAnio[0] = "31";
	 * 
	 * 
	 * mesesAnio[2] = "31"; mesesAnio[3] = "30"; mesesAnio[4] = "31";
	 * mesesAnio[5] = "30"; mesesAnio[6] = "31"; mesesAnio[7] = "31";
	 * mesesAnio[8] = "30"; mesesAnio[9] = "31"; mesesAnio[10] = "30";
	 * mesesAnio[11] = "31";
	 * 
	 * int diasRestantes = (int) diasTotales;
	 * System.out.println("DIAS RESTANTES " + diasRestantes); int totalMeses =
	 * 0;
	 * 
	 * int mesActual = mesFecIng;
	 * 
	 * for (int j = 0; j <= (anoFecCes - anoFecIng); j++) {
	 * System.out.println("Ano " + j);
	 * 
	 * if ((anoFecIng + j) % 4 == 0) { mesesAnio[1] = "29";
	 * 
	 * } else { mesesAnio[1] = "28"; }
	 * 
	 * for (int i = mesActual - 1; i <= 11; i++) {
	 * 
	 * 
	 * 
	 * System.out.println("Mes actual " + mesActual);
	 * 
	 * if ((diasRestantes - Integer.parseInt(mesesAnio[i])) >= 0) {
	 * System.out.println("" + diasRestantes + "-" +
	 * Integer.parseInt(mesesAnio[i])); totalMeses++;
	 * 
	 * diasRestantes = diasRestantes - Integer.parseInt(mesesAnio[i]);
	 * System.out.println("QUEDA " + diasRestantes); mesActual++;
	 * 
	 * 
	 * if (mesActual > 12) {
	 * 
	 * mesActual = 1;
	 * 
	 * }
	 * 
	 * }
	 * 
	 * 
	 * 
	 * }
	 * 
	 * 
	 * }
	 * 
	 * System.out.println("total meses "+totalMeses);
	 * 
	 * 
	 * int anos = (int) (totalMeses / 12);
	 * 
	 * if (anos >= 1) { totalMeses = totalMeses - anos * 12; }
	 * 
	 * 
	 * 
	 * if(diaFecCes!=31){ diasRestantes += 1; }
	 * 
	 * 
	 * if (anoFecCes % 4 == 0) { if (diaFecCes >= 28 && mesFecCes == 2) { if
	 * (diaFecCes == 29) { totalMeses = totalMeses + 1;
	 * 
	 * diasRestantes = diasRestantes-28;
	 * 
	 * diasRestantes -= 1;
	 * 
	 * }
	 * 
	 * }
	 * 
	 * 
	 * 
	 * } else {
	 * 
	 * if (diaFecCes >= 28 && mesFecCes == 2) { if (diaFecCes == 28) {
	 * totalMeses = totalMeses + 1;
	 * 
	 * diasRestantes = diasRestantes-27;
	 * 
	 * diasRestantes -= 1; }
	 * 
	 * }
	 * 
	 * 
	 * 
	 * }
	 * 
	 * 
	 * 
	 * System.out.println("DIAS RESTANTES " + diasRestantes);
	 * 
	 * 
	 * if (diasRestantes >= 30) {
	 * 
	 * 
	 * if(diaFecCes==30 && (mesFecCes==1 || mesFecCes==3 || mesFecCes==5 ||
	 * mesFecCes==8|| mesFecCes==10|| mesFecCes==12)){
	 * 
	 * } else{
	 * 
	 * totalMeses = totalMeses + 1; diasRestantes -= diasRestantes;
	 * 
	 * 
	 * 
	 * }
	 * 
	 * 
	 * 
	 * 
	 * }
	 * 
	 * 
	 * 
	 * if(totalMeses>=12){ anos++; totalMeses-=totalMeses; }
	 * 
	 * 
	 * arrDatos[0] = diasRestantes; arrDatos[1] = totalMeses; arrDatos[2] =
	 * anos; arrDatos[3] = indValidacion;
	 * 
	 * 
	 * return arrDatos;
	 * 
	 * 
	 * }
	 */
	// VERSION 3
	/*
	 * public int[] diaMesAno3(Date fecFin, Date fecIni){ int[] arrDatos = new
	 * int[4];
	 * 
	 * SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String fecIng
	 * = sdf.format(fecIni); String fecCes = sdf.format(fecFin);
	 * 
	 * String[] arrFecIng = fecIng.split("/"); String[] arrFecCes =
	 * fecCes.split("/");
	 * 
	 * int diaFecIng = Integer.parseInt(arrFecIng[0]); int mesFecIng =
	 * Integer.parseInt(arrFecIng[1]); int anoFecIng =
	 * Integer.parseInt(arrFecIng[2]);
	 * 
	 * int diaFecCes = Integer.parseInt(arrFecCes[0]); int mesFecCes =
	 * Integer.parseInt(arrFecCes[1]); int anoFecCes =
	 * Integer.parseInt(arrFecCes[2]);
	 * 
	 * GregorianCalendar dateIni = new GregorianCalendar(); GregorianCalendar
	 * dateFin = new GregorianCalendar();
	 * 
	 * dateIni.set(anoFecIng, mesFecIng - 1, diaFecIng); dateFin.set(anoFecCes,
	 * mesFecCes - 1, diaFecCes);
	 * 
	 * long diferencia = dateFin.getTime().getTime() -
	 * dateIni.getTime().getTime(); double diasTotales = (diferencia / (1000 *
	 * 60 * 60 * 24));
	 * 
	 * 
	 * 
	 * 
	 * 
	 * String[] mesesAnio = new String[12]; mesesAnio[0] = "31";
	 * 
	 * 
	 * mesesAnio[2] = "31"; mesesAnio[3] = "30"; mesesAnio[4] = "31";
	 * mesesAnio[5] = "30"; mesesAnio[6] = "31"; mesesAnio[7] = "31";
	 * mesesAnio[8] = "30"; mesesAnio[9] = "31"; mesesAnio[10] = "30";
	 * mesesAnio[11] = "31";
	 * 
	 * int diasRestantes = (int) diasTotales+1;
	 * System.out.println("DIAS RESTANTES " + diasRestantes);
	 * 
	 * 
	 * int indValidacion = 0;
	 * 
	 * if (diasTotales > 90) { indValidacion = 1; } else { indValidacion = 0; }
	 * 
	 * 
	 * int totalMeses = 0;
	 * 
	 * int mesActual = mesFecIng;
	 * 
	 * for (int j = 0; j <= (anoFecCes - anoFecIng); j++) {
	 * System.out.println("Ano " + j);
	 * 
	 * if ((anoFecIng + j) % 4 == 0) { mesesAnio[1] = "29";
	 * 
	 * } else { mesesAnio[1] = "28"; }
	 * 
	 * for (int i = mesActual - 1; i <= 11; i++) {
	 * 
	 * System.out.println("i " + i);
	 * 
	 * 
	 * int mesAno=0;
	 * 
	 * mesAno = Integer.parseInt(mesesAnio[i]);
	 * 
	 * System.out.println("Mes actual " + mesAno);
	 * 
	 * 
	 * if ((diasRestantes - mesAno) >= 0) { System.out.println("" +
	 * diasRestantes + "-" + mesAno); totalMeses++;
	 * 
	 * diasRestantes = diasRestantes - mesAno; System.out.println("QUEDA " +
	 * diasRestantes); mesActual++;
	 * 
	 * 
	 * if (mesActual > 12) {
	 * 
	 * mesActual = 1;
	 * 
	 * 
	 * }
	 * 
	 * }
	 * 
	 * 
	 * 
	 * }
	 * 
	 * 
	 * }
	 * 
	 * int anos = (int) (totalMeses / 12);
	 * 
	 * 
	 * if (anos >= 1) { totalMeses = totalMeses - anos * 12; }
	 * 
	 * 
	 * System.out.println("DIAS RESTANTES " + diasRestantes);
	 * 
	 * 
	 * 
	 * arrDatos[0] = diasRestantes; arrDatos[1] = totalMeses; arrDatos[2] =
	 * anos; arrDatos[3] = indValidacion;
	 * 
	 * 
	 * return arrDatos; }
	 */
	
	public int restaMes(Date fecFin, Date fecIni){
		int resultado=0;
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		String strFecFin = sdf.format(fecFin);
		String[] arrFecFin = strFecFin.split("/");
		
		int diaFin=Integer.parseInt(arrFecFin[0]);
		int mesFin=Integer.parseInt(arrFecFin[1]);
		int anoFin=Integer.parseInt(arrFecFin[2]);
		
		String strFecIni = sdf.format(fecIni);
		String[] arrFecIni = strFecIni.split("/");
		
		int diaIni=Integer.parseInt(arrFecIni[0]);
				
		if(diaFin<31 && (mesFin==1||mesFin==3||mesFin==5||mesFin==7||mesFin==8||mesFin==10||mesFin==12) && diaIni>1){
			resultado=1;
		}else if(diaFin<30 && (mesFin==4||mesFin==6||mesFin==9||mesFin==11) && diaIni>1){
			resultado=1;
		}else if(diaFin<29 && mesFin==2 && anoFin%4==0 && diaIni>1){
			resultado=1;
		}else if(diaFin<28 && mesFin==2 && anoFin%4!=0 && diaIni>1){
			resultado=1;
		}
			
		return resultado;
		
	}
	
	public boolean esFechaValida(Date fec) {
		
		boolean resultado=false;
		
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		String strFec = sdf.format(fec);
		String[] arrFec = strFec.split("/");
		
		int dia=Integer.parseInt(arrFec[0]);
		int mes=Integer.parseInt(arrFec[1]);
		int ano=Integer.parseInt(arrFec[2]);
		
		System.out.println("dia "+dia);
		System.out.println("mes "+mes);
		System.out.println("ano "+ano);
		
		if((dia>=1 && dia<=31) && (mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)){
			resultado=true;
		}else if((dia>=1 && dia<=30) && (mes==4||mes==6||mes==9||mes==11)){
			resultado=true;
		}else if(dia>=1 && dia<=29 && mes==2 && ano%4==0){
			resultado=true;
		}else if(dia>=1 && dia<=28 && mes==2 && ano%4!=0){
			resultado=true;
		}
		
		
		return resultado;
    }
	
	public boolean esMesCompleto(Date fec){
		
		boolean resultado=false;
		
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		String strFec = sdf.format(fec);
		String[] arrFec = strFec.split("/");
		
		int dia=Integer.parseInt(arrFec[0]);
		int mes=Integer.parseInt(arrFec[1]);
		int ano=Integer.parseInt(arrFec[2]);
		
		if(dia==31 && (mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)){
			resultado=true;
		}else if(dia==30 && (mes==4||mes==6||mes==9||mes==11)){
			resultado=true;
		}else if(dia==29 && mes==2 && ano%4==0){
			resultado=true;
		}else if(dia==28 && mes==2 && ano%4!=0){
			resultado=true;
		}
		
		return resultado;
		
	}

	public int[] diaMesAno3(Date fecFin, Date fecIni) {
		
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		String fecIng = sdf.format(fecIni);
		String[] arrFecIng = fecIng.split("/");
		
		String fecCesAnt = sdf.format(fecFin);
		String[] arrFecCesAnt = fecCesAnt.split("/");
		
		int[] arrResult = new int[5];
		
		Calendar cal = Calendar.getInstance();
		cal.setTime(fecFin);
		cal.add(Calendar.DAY_OF_YEAR, 1);
		
		String fecCes = sdf.format(cal.getTime());
		String[] arrFecCes = fecCes.split("/");
				
		
		String nFecIng = arrFecIng[2] + "-" + arrFecIng[1] + "-" + arrFecIng[0];
		String nFecCes = arrFecCes[2] + "-" + arrFecCes[1] + "-" + arrFecCes[0];

		Period result = new Period(new DateTime(nFecIng),
				new DateTime(nFecCes), PeriodType.yearMonthDay());
		
		int diaFinAnt=Integer.parseInt(arrFecCesAnt[0]);
		int mesFinAnt=Integer.parseInt(arrFecCesAnt[1]);
		
		
		if(diaFinAnt==30 && (mesFinAnt==1||mesFinAnt==3||mesFinAnt==5||mesFinAnt==7||mesFinAnt==8||mesFinAnt==10||mesFinAnt==12)){
			System.out.println("ENTRA IF");
			arrResult[0] = result.getDays()-1;
		}else{
			arrResult[0] = result.getDays();
		}
		
		
		arrResult[1] = result.getMonths();
		arrResult[2] = result.getYears();
		
		
		if (arrResult[1] >= 3 || arrResult[2]>0) {
			arrResult[3] = 1;
		} else {
			arrResult[3] = 0;
		}
		
		if (arrResult[1] >= 1 || arrResult[2]>0) {
			arrResult[4] = 1;
		} else {
			arrResult[4] = 0;
		}
		
		

		return arrResult;
	}

	public int diasTotales(Date fecFin, Date fecIni) {

		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		String fecIng = sdf.format(fecIni);
		String fecCes = sdf.format(fecFin);

		String[] arrFecIng = fecIng.split("/");
		String[] arrFecCes = fecCes.split("/");

		int diaFecIng = Integer.parseInt(arrFecIng[0]);
		int mesFecIng = Integer.parseInt(arrFecIng[1]);
		int anoFecIng = Integer.parseInt(arrFecIng[2]);

		int diaFecCes = Integer.parseInt(arrFecCes[0]);
		int mesFecCes = Integer.parseInt(arrFecCes[1]);
		int anoFecCes = Integer.parseInt(arrFecCes[2]);

		GregorianCalendar dateIni = new GregorianCalendar();
		GregorianCalendar dateFin = new GregorianCalendar();

		dateIni.set(anoFecIng, mesFecIng - 1, diaFecIng);
		dateFin.set(anoFecCes, mesFecCes - 1, diaFecCes);

		long diferencia = dateFin.getTime().getTime()
				- dateIni.getTime().getTime();
		double diasTotales = (diferencia / (1000 * 60 * 60 * 24));

		int resDiasTotales = (int) diasTotales;

		return resDiasTotales;

	}

	public int[] deDiasaDiaMesAno(int dias) {

		int[] arrDatos = new int[4];

		int anos = 0;

		int meses = 0;

		if (dias >= 360) {
			anos = (int) (dias / 360);
			dias = dias - (anos * 360);
		} else {
			anos = 0;
		}

		if (dias >= 30) {
			meses = (int) (dias / 30);
			dias = dias - (meses * 30);
		} else {
			meses = 0;

		}

		arrDatos[0] = dias;
		arrDatos[1] = meses;
		arrDatos[2] = anos;

		return arrDatos;

	}

	public String descripcionMes(int mes) {

		String descripcion = null;

		switch (mes) {
		case 1:
			descripcion = "Enero";
			break;
		case 2:
			descripcion = "Febrero";
			break;
		case 3:
			descripcion = "Marzo";
			break;
		case 4:
			descripcion = "Abril";
			break;
		case 5:
			descripcion = "Mayo";
			break;
		case 6:
			descripcion = "Junio";
			break;
		case 7:
			descripcion = "Julio";
			break;
		case 8:
			descripcion = "Agosto";
			break;
		case 9:
			descripcion = "Setiembre";
			break;
		case 10:
			descripcion = "Octubre";
			break;
		case 11:
			descripcion = "Noviembre";
			break;
		default:
			descripcion = "Diciembre";
		}

		return descripcion;
	}

	public String hostRealizaAccion() {
		InetAddress local = null;
		String host = null;
		try {
			local = InetAddress.getLocalHost();
			InetAddress inet2 = InetAddress.getByName(""
					+ local.getHostAddress());
			host = inet2.getHostName();
		} catch (UnknownHostException e) {

			e.printStackTrace();
		}

		return host;
	}

}
